package entidades.util;

import entidades.Ponto;
import entidades.Rectangulo;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;

/**
 * Trabalho DAS - 2014/2015
 * @author a21210380, a21190325, a21210392
 */
public class LinhaDaGrelha {
    public enum Orientacao {
        Vertical,
        Horizontal
    }
    private final Ponto inicio;
    private final Ponto fim;
    private final Rectangulo um;
    private final Rectangulo dois;
    private final Orientacao orientacao;
    private final BooleanProperty selecionada = new SimpleBooleanProperty(false);
    
    public LinhaDaGrelha(Orientacao orientacao, Ponto inicio, Ponto fim, Rectangulo um, Rectangulo dois) {
        this.orientacao = orientacao;
        this.inicio = inicio;
        this.fim = fim;
        this.um = um;
        this.dois = dois;
    }

    public Ponto getInicio() {
        return inicio;
    }

    public Ponto getFim() {
        return fim;
    }

    public Rectangulo getUm() {
        return um;
    }

    public Rectangulo getDois() {
        return dois;
    }

    public Orientacao getOrientacao() {
        return orientacao;
    }
    
    public Rectangulo contem(float x, float y) {
        if(um.contem(x, y)) {
            return um;
        }
        if(dois.contem(x, y)) {
            return dois;
        }
        return null;
    }
    
    public void selecionar(boolean selecao) {
        selecionada.setValue(selecao);
    }
    
    public BooleanProperty selecionadaProperty() {
        return selecionada;
    }
}
